let memo = [];

const memoMaxSize = 10; //最大缓存数
const memoMaxTime = 10 * 1000; //缓存最长时间

// 最多缓存10个 最长缓存10秒
async function memoFn(fn, { url, params }) {
  // const memoData = memo.find(
  //   obj =>
  //     obj &&
  //     obj.url === url &&
  //     JSON.stringify(obj.params) === JSON.stringify(params),
  // );
  // if (memoData) {
  //   return memoData.result;
  // } else {
  //   const result = await fn();
  //   const id = Symbol();
  //   memo.unshift({ url, params, result, id });
  //   const timer = setTimeout(() => {
  //     memo = memo.filter(t => t.id !== id);
  //   }, memoMaxTime);
  //   memo.length = memoMaxSize;
  //   return result;
  // }
  return await fn();
}

export const initMemo = () => {
  memo = [];
};
export default memoFn;
